package com.zju.DoctorGo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.zju.DoctorGo.dto.BookingFilterDTO;
import lombok.Data;

@Data
@TableName("booking")
public class Booking {
    /**
     * 预约ID
     */
    @TableId(value = "book_id", type = IdType.AUTO)
    private Long bookId;

    /**
     * 预约时间段
     */
    @TableField(value = "time")
    private String time;

    /**
     * 医生ID
     */
    @TableField(value = "doctor_id")
    private String doctorId;

    /**
     * 医生名字
     */
    @TableField(value = "doctorName")
    private String doctorName;

    /**
     * 病人ID
     */
    @TableField(value = "patientName")
    private String patientName;

    /**
     * 预约状态
     */
    @TableField(value = "status")
    private String status;

    /**
     * 排号
     */
    @TableField(value = "queue_no")
    private Long queueNo;

    // 全参构造函数
    public Booking (Long bookId, String time, String doctorId, String doctorName, String patientName, String status, Long queueNo) {
        this.bookId = bookId;
        this.time = time;
        this.doctorId = doctorId;
        this.doctorName = doctorName;
        this.patientName = patientName;
        this.status = status;
        this.queueNo = queueNo;
    }

    // 无参构造函数
    public Booking () {
    }

    // 使用 BookingDTO 的构造函数
    public Booking (BookingFilterDTO bookingFilterDTO) {
    }
}
